package com.ruoyi.archive.domain;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 复员军人信息对象 s_demobilization_soldier
 *
 * @author Allen
 * @date 2021-09-29
 */
@Data
public class SDemobilizationSoldier implements Serializable {

    private static final long serialVersionUID = -2731848884627263214L;
    /** $column.columnComment */
    private Long id;

    /** 关联soldier_base_info */
    private Long soldierId;

    /** 入伍时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入伍时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date enlistedDate;

    /** 复员时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "复员时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date demobilizationDate;

    /** 军龄 自动生成：复员时间-入伍时间往上取整 */
    private Long militaryAge;

    /**
     * 原部队代号
     * 只填写代号，不填写番号（如师团营等）、单位名称，设置关键字，出现番号类的，不能填写。
     */
    @Excel(name = "原部队代号")
    private String originalUnitCode;

    /** 指转业前职务 */
    @Excel(name = "指转业前职务")
    private String originalRank;

    /** 复员证等其他有效退役证件 */
    @Excel(name = "复员证等其他有效退役证件")
    private String demobilizationCertificate;

    /** 复员证件号码（1954年10月31日前入伍的非必填） */
    @Excel(name = "复员证件号码", readConverterExp = "1954年10月31日前入伍的非必填")
    private String demobilizationCertificateCode;

    /**
     * 立功受奖情况
     * 1：八一勋章
     * 2：大军区以上荣誉称号
     * 3：一等功
     * 4：二等功
     * 5：三等功
     * 0：无
     */
    @Excel(name = "立功受奖情况")
    private String honour;

    /** 立功受奖证件 */
    @Excel(name = "立功受奖证件")
    private String honourCertificate;

    /** 人员类别 */
    @Excel(name = "人员类别")
    private Integer category;

    /** 待遇情况 */
    @Excel(name = "待遇情况")
    private Integer treatmentSituation;

    /** 待遇证件 */
    private String treatmentCertificate;

    /** 孤老情况 */
    @Excel(name = "孤老情况")
    private Integer isLonely;

    /** 供养情况 */
    @Excel(name = "供养情况")
    private Integer supportSituation;

    /** 供养单位 */
    @Excel(name = "供养单位")
    private Integer supportUnit;

    /** 安置计划年度 */
    @Excel(name = "安置计划年度")
    private String arrangeYear;

    /** 接收年月 */
    @Excel(name = "接收年月")
    private String receiveDate;

    /** 现就业状况 */
    @Excel(name = "现就业状况")
    private Integer employmentSituation;

    @TableField(exist = false)
    private String soldierName;

    @TableField(exist = false)
    private String idCard;
}
